package com.dyna.cp.redis.service;

public interface DynaRedisService {

    /**
     * 分布式锁
     */
    void lock();

    /**
     * redis布隆过滤器添加元素
     * @param filterName 过滤名称
     * @param element 元素
     */
    void addBloomFilterData(String filterName, String element);

    /**
     * 测试是否存在布隆过滤器中
     * @param filterName 过滤名称
     * @param element 元素
     * @return Boolean
     */
    Boolean foundElement(String filterName, String element);

    /**
     * 初始化票数
     * @param count 初始化票数
     * @return Boolean
     */
    Boolean initTicket(Integer count);

    /**
     * redis脚本实现抢票
     * @return Long
     */
    Long ticket();

    /**
     * 延时消息通知
     * @param content 延时消息
     * @param delaySeconds 延时秒数
     * @return Boolean
     */
    Boolean delayMsg(Integer type, String content, long delaySeconds);

    /**
     * 获取脚本
     * @return String
     */
    Object script();

}
